package com.company.project.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 系统用户
 *
 * @author wenbin
 * @version V1.0
 * @date 2020年3月18日
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class SysUser extends BaseEntity implements Serializable {
    @TableId
    private String id;//用户id

    @NotBlank(message = "账号不能为空")
    private String username;//账户名称

    private String salt;//加密盐值

    @NotBlank(message = "密码不能为空")
    private String password;//用户密码密文

    @TableField(exist = false)
    private String oldPwd;//旧密码

    @TableField(exist = false)
    private String newPwd;//新密码

    private String phone;//手机号码

    private String deptId;//部门id

    @TableField(exist = false)
    private String deptName;//部门名称

    @TableField(exist = false)
    private String deptNo;//部门编号

    private String realName;//真实名称

    private String nickName;//昵称

    private String email;//邮箱(唯一)

    private Integer status;//账户状态(1.正常 0.锁定 )

    private Integer sex;//性别(1.男 2.女)

    @TableField(fill = FieldFill.INSERT)
    private Integer deleted;//是否删除(1未删除；0已删除)

    private String createId;//创建人

    private String updateId;//更新人

    private Integer createWhere;//创建来源(1.web 2.android 3.ios )

    @TableField(fill = FieldFill.INSERT)
    private Date createTime;//创建时间

    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;//更新时间

    @TableField(exist = false)
    private String startTime;//开始时间

    @TableField(exist = false)
    private String endTime;//结束时间

    @TableField(exist = false)
    private List<String> roleIds;//角色id集合

    @TableField(exist = false)
    private String captcha;//验证码
}